1. Field of the Invention
The present invention is related to the field of upsampling a color image that is being received in compressed YCbCr format.
2. Description of the Related Art
Images are converted to data for storage and transmission. Before being converted, an image is typically first split up into picture elements, also known as pixels.
Referring particularly to FIG. 1, a horizontal edge 12 of an image meets with the vertical edge 14 of the image at a corner 16. The image is split into horizontal rows numbered 0, 1, 2, . . . along the vertical edge 14, and vertical columns numbered 0, 1, 2, . . . along the horizontal edge 12. The rows and the columns define a grid, or matrix of pixels, each of which is identified by the number of its row and the number of its column. The pixels are designed to be of such small area, that each pixel is considered to have a single, uniform color. That single color, then, is converted into data.
The color of each pixel is converted to data according to conventions that are known as color spaces. Once the color space is chosen, the color is ultimately represented by data having numerical values within the chosen color space. The data is identified by the number of the row and the number of the column of the pixel.
A color space that is very useful for transmission of color images is the luminance/chrominance representation. Each color is represented by a luminance component Y, having a luminance value, and a chrominance component. The chrominance component is typically represented by two coefficients, the Cb coefficient and Cr coefficient.
As seen in FIG. 1, therefore, each pixel (i,j) is characterized by the values of the luminance component and the chrominance components. More specifically, that means a set of values Yi,j, Cbi,j, and Cri,j.
When it is required to transmit the image, therefore, the luminance and chrominance data is typically transmitted. Transmission can be faster if some data is omitted. A number of compression techniques delete data selectively, so that fewer values have to be transmitted, while making it possible to reconstruct the image with high fidelity afterwards. Such compression is also known as subsampling. Subsampling always results in some loss of image detail.
Referring now to FIG. 2, subsampled data is shown for transmitting the image of FIG. 1. According to the compression scheme of FIG. 2, also known as MPEG-2 YCbCr 4:2:0, much of the chrominance data of FIG. 1 is omitted in FIG. 2. In particular, only one in every four pairs of chrominance coefficients is transmitted. The transmitted values are shown in FIG. 2 as being in a matrix for simplicity only, while in fact they are transmitted serially for each pixel.
Referring now to FIG. 3, the reconstruction problem is demonstrated. The values of FIG. 2, after being received, are arranged in a matrix. In particular, a horizontal edge 32 is set up to meet a vertical edge 34 at a corner 36. Then the rows and columns are defined, and numbered similarly to those of FIG. 1.
The chrominance values that were not transmitted are now missing, and are shown with question marks xe2x80x9c?xe2x80x9d in FIG. 3. As such, values must be generated where there are question marks, so that the pixel colors can be replicated. Generating such values is also known as upsampling or expanding.
A number of techniques are known in the prior art for upsampling. The simplest technique is simple replication, i.e. setting the values of (Cb1,0, Cr1,0), (Cb0,1, Cr0,1) and (Cb1,1, Cr1,1) as equal to the received (Cb0,0, Cr0,0). While computationally simple, the technique results in a dull image. More complex filtering techniques may be applied to perform upsampling, but these can introduce loss of image detail in addition to that produced during the initial subsampling.
After upsampling, the image data can be converted to color data in a different color space. A typical color space is the red, green, blue (RGB) color space, also used by color television. For some applications, a high color contrast output image is desirable for presentation to the viewer, as for example in a television receiver. Many techniques have been proposed for color transient improvement. The best current techniques must be applied separately to the red, green, and blue color channels, to prevent the creation of undesirable effects called color artifacts. These require three separate sets of computations to be performed independently, namely one for each of the three color channels. Worse, these are done on full resolution data, which is the most time-consuming. What is desired is a method that improves the image with reduced computation requirements.
The present invention overcomes these problems and limitations of the prior art.
Generally, the present invention provides a method for upsampling a received YCbCr signal, by generating the missing chrominance values. By operating only on the YCbCr signal, the method of the invention does not require computations on three color channels.
The method of invention generates chrominance coefficients for each individual pixel. In so doing, the method of invention takes into account the values of the chrominance coefficients actually received for a neighboring pixel. Importantly, it also accounts for the values of the luminance of the pixel, and of the saturation value for chrominance coefficients, as determined by the value of the luminance of the pixel.
Since different chrominance coefficients are generated for each pixel, large areas of the reconstructed image appear as having a texture. This enhances the image, and is pleasing for images of natural objects.
The foregoing and other objects, features and advantages of the invention will become more readily apparent from the following detailed description of a preferred embodiment, which proceeds with reference to the drawings.